<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="/Public/Css/common.css" />
    <script type="text/JavaScript" src='/Public/Js/jquery-1.7.2.min.js'></script>
    <script type="text/JavaScript" src='/Public/Js/common.js'></script>
<link rel="stylesheet" href="/Public/Css/show.css" />
</head>
<body>
<!--头部-->
<div class='top-list-wrap'>
    <div class='top-list'>
        <ul class='l-list'>
            <li><a href="http://www.houdunwang.com" target='_blank'>后盾网</a></li>
            <li><a href="http://bbs.houdunwang.com" target='_blank'>后盾网论坛</a></li>
            <li><a href="http://study.houdunwang.com" target='_blank'>后盾学习社区</a></li>
        </ul>
        <ul class='r-list'>
            <li><a href="http://www.hdphp.com" target='_blank'>HDPHP框架</a></li>
            <li><a href="http://bbs.houdunwang.com" target='_blank'>免费视频教程</a></li>
        </ul>
    </div>
</div>


<div class='top-search-wrap'>
    <div class='top-search'>
        <a href="http://bbs.houdunwang.com" target='_blank' class='logo'>
            <img src="/Public/Images/logo.png"/>
        </a>
        <div class='search-wrap'>
            <form action="" method='get'>
                <input type="text" name='keyword' class='search-content'/>
                <input type="submit" name='search' value='搜索'/>
            </form>
        </div>
    </div>
</div>

<!--<div class='top-nav-wrap'>
    <ul class='nav-lv1'>
        <li class='nav-lv1-li'>
            <a href="" class='top-cate'>博客首页</a>
        </li>
        <li class='nav-lv1-li'>
                <a href="" class='top-cate'>HTML</a>
                            </li><li class='nav-lv1-li'>
                <a href="" class='top-cate'>DIV+CSS</a>
                            </li><li class='nav-lv1-li'>
                <a href="" class='top-cate'>JavaScript</a>
                <ul>
                        <li><a href="">jQuery</a></li><li><a href="">Ajax</a></li>                    </ul>            </li><li class='nav-lv1-li'>
                <a href="" class='top-cate'>PHP</a>
                <ul>
                        <li><a href="">字符串</a></li><li><a href="">数组</a></li><li><a href="">对象</a></li>                    </ul>            </li><li class='nav-lv1-li'>
                <a href="" class='top-cate'>Mysql</a>
                <ul>
                        <li><a href="">存储引擎</a></li><li><a href="">事务</a></li><li><a href="">视图</a></li><li><a href="">存储过程</a></li>                    </ul>            </li><li class='nav-lv1-li'>
                <a href="" class='top-cate'>Linux</a>
                <ul>
                        <li><a href="">网络配置</a></li><li><a href="">基本命令</a></li>                    </ul>            </li><li class='nav-lv1-li'>
                <a href="" class='top-cate'>其它</a>
                            </li>

    </ul>
</div>-->
<!--说明自动调了一下标签-->
<div class='top-nav-wrap'>
    <ul class='nav-lv1'>
        <li class='nav-lv1-li'>
            <a href="" class='top-cate'>博客首页</a>
        </li>
            <!--扩充thinkphp标签库-->
        <li class='nav-lv1-li'>
                <a href="/c_1.html" class='top-cate'>HTML</a>
                    <ul>
                                            </ul>
            </li><li class='nav-lv1-li'>
                <a href="/c_2.html" class='top-cate'>DIV+CSS</a>
                    <ul>
                                            </ul>
            </li><li class='nav-lv1-li'>
                <a href="/c_3.html" class='top-cate'>JavaScript</a>
                    <ul>
                        <li><a href="/c_8.html">jQuery</a></li><li><a href="/c_9.html">Ajax</a></li>                    </ul>
            </li><li class='nav-lv1-li'>
                <a href="/c_4.html" class='top-cate'>PHP</a>
                    <ul>
                        <li><a href="/c_10.html">字符串</a></li><li><a href="/c_11.html">数组</a></li><li><a href="/c_12.html">对象</a></li>                    </ul>
            </li><li class='nav-lv1-li'>
                <a href="/c_5.html" class='top-cate'>Mysql</a>
                    <ul>
                        <li><a href="/c_13.html">存储引擎</a></li><li><a href="/c_14.html">事务</a></li><li><a href="/c_15.html">视图</a></li><li><a href="/c_16.html">存储过程</a></li>                    </ul>
            </li><li class='nav-lv1-li'>
                <a href="/c_6.html" class='top-cate'>Linux</a>
                    <ul>
                        <li><a href="/c_18.html">网络配置</a></li><li><a href="/c_17.html">基本命令</a></li>                    </ul>
            </li><li class='nav-lv1-li'>
                <a href="/c_7.html" class='top-cate'>其它</a>
                    <ul>
                                            </ul>
            </li>
    </ul>
</div>
<!--如果下面有代码php代码部分需要高亮，这样就需要用到百度编辑器ueditor里面的文件引入-->
<link rel="stylesheet" href="/Data/Ueditor/third-party/SyntaxHighlighter/shCoreDefault.css">
<script type="text/javascript" src="/Data/Ueditor/third-party/SyntaxHighlighter/shCore.js"></script>
<script type="text/javascript">
	//调用一下高亮函数即可
	SyntaxHighlighter.all();
	//注意用上面函数的时候不要用
	/*window.onload() = function (){
		//这样就不起效果了
		SyntaxHighlighter.all();
	}*/
</script>
<!--主体-->
	<div class='main'>
		<div class='main-left'>
			<div class='location'>
				<a href="">首页</a>>
								<!--注意如果不写key=什么，默认为$key-->
					<a href="/c_4.html">PHP</a>><!--注意如果不写key=什么，默认为$key-->
					<a href="/c_12.html">对象</a>			</div>
			<div class="title">
				<p>无限极分类</p>
				<div>
					<span class='fl'>发布于：2017年08月01日</span>
					<span class='fr'>已被阅读<script type="text/javascript" src='/Index/Show/clickNum/id/5.html'></script> 次</span>
				</div>
			</div>
			<div class='content' style="word-break: break-all">
				<pre class="brush:php;toolbar:false">&lt;?php
//注意这种方式，前台用的时候要把$cate缓存起来，因为查找的时候是把整个数据库的信息查找查找出来的，在进行递归的，这样肯定会
//消耗资源，我们可以通过结合缓存使用的话就能大大的减少开销，这样后边调前台的时候，我们就会加上缓存的功能，把递归的无限极分类缓存起来，
//因为现在是在做后台，后台的话就只有几个管理员登陆，所以后台就没有必要加缓存了，做缓存讲前端的时候在做缓存
Class&nbsp;Category{
&nbsp;&nbsp;&nbsp;//组合一维数组
&nbsp;&nbsp;&nbsp;Static&nbsp;Public&nbsp;function&nbsp;unlimitedForLevel($cate,$html=&quot;--&quot;,$pid&nbsp;=&nbsp;0,$level=0){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr&nbsp;=&nbsp;array();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($cate&nbsp;as&nbsp;$v){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($v[&#39;pid&#39;]&nbsp;==&nbsp;$pid){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$v[&#39;level&#39;]&nbsp;=&nbsp;$level&nbsp;+&nbsp;1;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$v[&#39;html&#39;]&nbsp;=&nbsp;str_repeat($html,$level);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr[]&nbsp;=&nbsp;$v;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//self::unlimitedForLevel($cate,$html,$v[&#39;id&#39;],$level&nbsp;+&nbsp;1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr&nbsp;=&nbsp;array_merge($arr,self::unlimitedForLevel($cate,$html,$v[&#39;id&#39;],$level&nbsp;+&nbsp;1));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$arr;
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;//组合多维数组
&nbsp;&nbsp;&nbsp;Static&nbsp;Public&nbsp;function&nbsp;unlimitedForLayer($cate,$name=&#39;child&#39;,$pid=0){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr&nbsp;=&nbsp;array();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($cate&nbsp;as&nbsp;$v){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($v[&#39;pid&#39;]&nbsp;==&nbsp;$pid){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$v[$name]&nbsp;=&nbsp;self::unlimitedForLayer($cate,$name,$v[&#39;id&#39;]);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr[]&nbsp;=&nbsp;$v;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$arr;
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;//传递一个子分类ID返回所有的父级分类
&nbsp;&nbsp;&nbsp;Static&nbsp;Public&nbsp;function&nbsp;getParents($cate,$id){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr&nbsp;=&nbsp;array();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($cate&nbsp;as&nbsp;$k=&gt;$v){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($v[&#39;id&#39;]&nbsp;==&nbsp;$id){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr[]&nbsp;=&nbsp;$v;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr&nbsp;=&nbsp;array_merge(self::getParents($cate,$v[&#39;pid&#39;]),$arr);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$arr;
&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;//传递一个父级分类ID返回所有子分类ID
&nbsp;&nbsp;&nbsp;Static&nbsp;Public&nbsp;function&nbsp;getChildsId($cate,$pid){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr&nbsp;=&nbsp;array();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($cate&nbsp;as&nbsp;$v){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($v[&#39;pid&#39;]&nbsp;==&nbsp;$pid){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr[]&nbsp;=&nbsp;$v[&#39;id&#39;];
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr&nbsp;=&nbsp;array_merge($arr,self::getChildsId($cate,$v[&#39;id&#39;]));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$arr;
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;//传递一个父级分类ID返回所有子级分类
&nbsp;&nbsp;&nbsp;Static&nbsp;Public&nbsp;function&nbsp;getChilds($cate,$pid){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr&nbsp;=&nbsp;array();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($cate&nbsp;as&nbsp;$v){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($v[&#39;pid&#39;]&nbsp;==&nbsp;$pid){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr[]&nbsp;=&nbsp;$v;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arr&nbsp;=&nbsp;array_merge($arr&nbsp;,self::getChilds($cate,$v[&#39;id&#39;]));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$arr;
&nbsp;&nbsp;&nbsp;}
}

?&gt;</pre>			</div>
		</div>
		<!--主体右侧-->
<div class='main-right'>
    <!--调热门博文方法,在array里面传data参数-->
    <dl>
    <!--    100-->
    <dt>热门博文</dt>
    <dd>
            <a href="/5.html" target="_blank">无限极分类</a>
            <span>(1052)</span>
        </dd><dd>
            <a href="/1.html" target="_blank">测试博文1</a>
            <span>(100)</span>
        </dd><dd>
            <a href="/2.html" target="_blank">测试博文2</a>
            <span>(100)</span>
        </dd><dd>
            <a href="/3.html" target="_blank">php怎样用来定义一个对象</a>
            <span>(100)</span>
        </dd></dl>    <dl>
        <!--        7-->
        <dt>热门博文</dt>
        <dd>
                <a href="/5.html" target="_blank">无限极分类</a>
                <span>(1052)</span>
            </dd><dd>
                <a href="/1.html" target="_blank">测试博文1</a>
                <span>(100)</span>
            </dd><dd>
                <a href="/2.html" target="_blank">测试博文2</a>
                <span>(100)</span>
            </dd><dd>
                <a href="/3.html" target="_blank">php怎样用来定义一个对象</a>
                <span>(100)</span>
            </dd>
    </dl>
    <dl>
    <dt>最发布发</dt>
    <dd>
            <a href="/5.html">无限极分类</a>
            <span>(1052)</span>
        </dd><dd>
            <a href="/3.html">php怎样用来定义一个对象</a>
            <span>(100)</span>
        </dd><dd>
            <a href="/2.html">测试博文2</a>
            <span>(100)</span>
        </dd><dd>
            <a href="/1.html">测试博文1</a>
            <span>(100)</span>
        </dd></dl>
    <dl>
        <dt>友情连接</dt>
        <dd>
            <a href="">后盾网</a>
        </dd>

        <dd>
            <a href="">后盾网论坛</a>
        </dd>
        <dd>
            <a href="">后盾网学习社区</a>
        </dd>
    </dl>
</div>
	</div>
<!--底部-->
<div class='bottom'>
    <div></div>
</div>
</body>
</html>